

package cn.shengchao.examstar.distribute.infrastrure.service;

import cn.shengchao.examstar.distribute.infrastrure.po.DistributeOrderTaskSale;
import cn.shengchao.examstar.distribute.infrastrure.query.DistributeAmountQuery;
import cn.shengchao.examstar.distribute.infrastrure.query.DistributeUserSaleDetailQuery;
import cn.shengchao.examstar.distribute.infrastrure.query.SaleAmountQuery;
import cn.shengchao.examstar.distribute.infrastrure.vo.DistributeOrder;
import cn.shengchao.examstar.distribute.infrastrure.vo.DistributeSale;
import cn.shengchao.examstar.distribute.infrastrure.vo.DistributeSaleUserGroup;
import cn.shengchao.examstar.rpc.uddsys.req.PlatformDistributeUserStatisticQuery;
import cn.shengchao.examstar.rpc.uddsys.resp.DistributeUserMonthStaticVo;
import cn.shengchao.examstar.rpc.uddsys.resp.DistributeUserProfitDetailVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface DistributeOrderTaskSaleService extends IService<DistributeOrderTaskSale> {
    List<DistributeUserProfitDetailVo> getDistributeUserProfitDetailList(DistributeUserSaleDetailQuery distributeUserSaleDetailQuery);

    List<DistributeSaleUserGroup> getSaleAmountGroupForUsers(SaleAmountQuery saleAmountQuery);

    /**
     * 获取收益金额
     */
    DistributeSale getSaleAmount(SaleAmountQuery saleAmountQuery);

    /**
     *销售的会员数量
     */
    Map<Long, Long> saleMemberSum(List<Long> saleIds, Date startTime,Date endTime);

    /**
     * 获取收益订单及状态
     */
    List<DistributeOrder> getSaleOrder(SaleAmountQuery saleAmountQuery);

    List<DistributeUserMonthStaticVo> listStaticListSortForUpLevelUser(PlatformDistributeUserStatisticQuery saleAmountQuery);

    List<DistributeUserProfitDetailVo> getDistributeEmployeeContributeDetailList(DistributeUserSaleDetailQuery distributeUserSaleDetailQuery);

    DistributeSaleUserGroup getSaleAmountForDistributeUser(DistributeAmountQuery saleAmountQuery);
}
